import { createStore } from 'vuex'

export default createStore({
    state: {
        userInfo: {}
    },
    getters: {},
    mutations: {
        //用户登录
        setUserInfo(state, data) {
            state.userInfo = data
                // 将登录的用户信息存储一份到 sessionStorage，防止刷新页面 vuex 中的用户信息清除，sessionStorage 不能存储对象，转为字符串存储
            sessionStorage.userInfo = JSON.stringify(data)
        },
        //用户注销
        loginOut(state) {
            state.userInfo = {}
            sessionStorage.userInfo = {}
        },
    },
    actions: { //异步操作在action里面

        //用户登录
        setUserInfo(ctx, data) {
            ctx.commit('setUserInfo', data)
        },
        //用户注销
        loginOut(ctx) {
            ctx.commit('loginOut')
        },
    },
    modules: {}
})